// 使用 defineStore 定义仓库Store
import { defineStore } from 'pinia';
import { Names } from './storeNameSpace';
export const useTestStore = defineStore(Names.Test, {
  // state 是一个箭头函数，和 vuex 不一样
  state: () => {
    return {
      test: 'pinia中test的state值'
    };
  },
  // 类似于 computed 可以修饰值
  getters: {
    // 函数形式
    newTest1(): any {
      return this.test;
    },
    // 箭头函数
    newTest2: (state) => {
      return state.test;
    }
  },
  // 可异步或同步提交 state
  actions: {
    editTest() {
      // 因为使用 this 所以不要使用箭头函数
      this.test = '通过 actions 修改,在 actions 中直接使用this就可以指到state里面的值 ';
    }
  }
});
